local tp,zts
local insert = table.insert
local 法宝任务栏 = class()
local 法宝类型 = {
    [1] = {"碧玉葫芦","五色旗盒","飞剑","拭剑石","金甲仙衣","惊魂铃","嗜血幡","风袋","清心咒","九黎战鼓","盘龙壁","神行飞剑","汇灵盏","天师符","织女扇"},
    [2] = {"发瘟匣","断线木偶","五彩娃娃","七杀","金刚杵","兽王令","摄魂"},
    [3] = {"失心钹","五火神焰印","九幽","普渡","鬼泣","斩魔","奇门五行令","神木宝鼎","金箍棒","混元伞","无魂傀儡","苍白纸人","乾坤玄火塔","无尘扇","无字经","干将莫邪","慈悲","救命毫毛","伏魔天书","镇海珠"},
}

function 法宝任务栏:初始化(根)
    self.ID = 163
    self.x = 300
    self.y = 150
    self.xx = 0
    self.yy = 0
    self.注释 = "法宝任务栏"
    self.可视 = false
    self.鼠标 = false
    self.焦点 = false
    self.可移动 = true
    self.选择个数 = 1
    self.动画开关 = false
    self.奖励选择 = 0
    self.滚动1 = 0
    tp = 根
    self.窗口时间 = 0
    local 资源 = tp.资源
    local 按钮 = tp._按钮
    local 自适应 = tp._自适应
    self.资源组 = {
        [1] = 自适应.创建(0,1,350,350,3,9),
        [2] = 按钮.创建(自适应.创建(18,4,16,16,4,3),0,0,4,true,true),--关闭
        [3] = 按钮.创建(自适应.创建(12,4,65,22,1,3),0,0,4,true,true," 领 取"),
        [4] = 按钮.创建(自适应.创建(12,4,65,22,1,3),0,0,4,true,true,"1级法宝"),
        [5] = 按钮.创建(自适应.创建(12,4,65,22,1,3),0,0,4,true,true,"2级法宝"),
        [6] = 按钮.创建(自适应.创建(12,4,65,22,1,3),0,0,4,true,true,"3级法宝"),
        [7] = 按钮.创建(自适应.创建(12,4,65,22,1,3),0,0,4,true,true,"4级法宝"),
    }
    for n=2,7 do
       self.资源组[n]:绑定窗口_(self.ID)
    end
    self.物品组={}
    zts = tp.字体表.普通字体
end

function 法宝任务栏:打开(内容)
    if self.可视 then
        self:清空数据()
        self.可视 = false
        return
    else
        insert(tp.窗口_,self)
        tp.运行时间 = tp.运行时间 + 1
        self.窗口时间 = tp.运行时间
        self.选中 = 1
        self.物品组={}
        for i=1,#法宝类型 do
            self.物品组[i]={}
            for n=1,#法宝类型[i] do
                self.物品组[i][#self.物品组[i]+1] = {}
                local 资源=引擎.取物品(法宝类型[i][n])
                self.物品组[i][#self.物品组[i]].小动画=tp.资源:载入(资源[11],"网易WDF动画",资源[12])
                self.物品组[i][#self.物品组[i]].大动画=tp.资源:载入(资源[11],"网易WDF动画",资源[13])
                self.物品组[i][#self.物品组[i]].名称=法宝类型[i][n]
                self.物品组[i][#self.物品组[i]].说明=资源[1]
            end
        end
        self.可视 = true
    end
end

function 法宝任务栏:显示(dt,x,y)
    self.焦点= false
    -- self:更新滚动(x,y)
    self.资源组[1]:显示(self.x,self.y)
    self.资源组[2]:更新(x,y)
    self.资源组[3]:更新(x,y)
    tp.窗口标题背景_:显示(self.x-86+self.资源组[1].宽度/2,self.y)
    引擎.场景.字体表.标题字体:显示(self.x+self.资源组[1].宽度/2+5,self.y+3,"法宝选择")
    self.资源组[2]:显示(self.x-18+self.资源组[1].宽度,self.y+3)
    self.资源组[3]:显示(self.x+260,self.y+310)
    if tp.队伍[1].等级 >= 89 then
        self.资源组[4]:更新(x,y,self.选中 ~= 1)
        self.资源组[5]:更新(x,y,self.选中 ~= 2)
        self.资源组[6]:更新(x,y,self.选中 ~= 3)
        self.资源组[4]:显示(self.x+20,self.y+35)
        self.资源组[5]:显示(self.x+90,self.y+35)
        self.资源组[6]:显示(self.x+160,self.y+35)
    elseif tp.队伍[1].等级 >= 69 then
        self.资源组[4]:更新(x,y,self.选中 ~= 1)
        self.资源组[5]:更新(x,y,self.选中 ~= 2)
        self.资源组[4]:显示(self.x+20,self.y+35)
        self.资源组[5]:显示(self.x+90,self.y+35)
    elseif tp.队伍[1].等级 >= 59 then
        self.资源组[4]:更新(x,y,self.选中 ~= 1)
        self.资源组[4]:显示(self.x+20,self.y+35)
    end
    local xx,yy=0,0
    for k,v in ipairs(self.物品组[self.选中]) do
        tp.物品格子背景_:显示(self.x+25+xx*60,self.y+68+yy*62)
        v.小动画:显示(self.x+25+xx*60,self.y+68+yy*62)
        if self.奖励选择 == v.名称 then
            tp.物品格子确定_:显示(self.x+28+xx*60,self.y+70+yy*62)
        end
        if v.小动画:是否选中(x,y) then
            self.焦点=true
            tp.提示:商城提示(self.x+25+xx*60,self.y+68+yy*62,v.名称,v.说明,v.大动画,v.备注)
            if 引擎.鼠标弹起(0) then
                self.奖励选择 = v.名称
            end
        end
        xx = xx + 1
        if xx == 5 then
            yy = yy + 1
            xx = 0
        end
    end
    if self.资源组[2]:事件判断() then
        self:打开()
        return
    elseif self.资源组[3]:事件判断() then
        JGESDK:发送(126,{名称=self.奖励选择,编号=self.选中})
    elseif self.资源组[4]:事件判断() then
        self.选中=1
    elseif self.资源组[5]:事件判断() then
        self.选中=2
    elseif self.资源组[6]:事件判断() then
        self.选中=3
    end

    -- for k,v in pairs(self.物品组) do
    --     local wx = self.x+9 + (k-1) * 60
    --     for i,n in pairs(v) do
    --         local wy = self.y+91-21-55*(i-1)+self.滚动1
    --         if wy >= self.y+ 45 and  wy <= self.y + 120 then
    --             n.小动画:显示(wx,wy)
    --             if n.小动画:是否选中(x,y) and i==5 then
    --                 self.焦点=true
    --                 if not self.动画开关 then
    --                     tp.提示:商城提示(wx,wy,n.名称,n.说明,n.大动画,n.备注)
    --                 end
    --                 if 引擎.鼠标弹起(0) and not self.动画开关 then
    --                     self.奖励选择 = k
    --                 end
    --             end
    --         end
    --     end
    -- end
    -- self.资源组[10]:显示(self.x+5,self.y+25)
    -- self.资源组[3]:更新(x,y)
    -- self.资源组[4]:更新(x,y,self.奖励选择~=0)
    -- self.资源组[3]:显示(self.x+224,self.y+34)
    -- self.资源组[4]:显示(self.x+224,self.y+136)
    -- zts:置颜色(白色)
    -- zts:显示(self.x+8,self.y+36,"选择个数")
    -- zts:显示(self.x+8,self.y+133+5,"请选择你最想要的一个奖励")
    -- for n=1,5 do
    --     if n==self.奖励选择 then
    --         tp.物品格子确定_:显示(self.x+11 + (n-1) * 60, self.y+71)
    --     end
    -- end
    -- for i=5,9 do
    --     self.资源组[i]:更新(x,y,not self.动画开关)
    --     if self.资源组[i]:事件判断() and not self.动画开关 then --1-5按钮事件
    --         self.选择个数 = i-4
    --     end
    -- end
    -- for n=1,5 do --1-5按钮
    --     self.资源组[n+4]:显示(self.x+75+(n-1)*26,self.y+34,nil,nil,nil,self.选择个数==n,2)
    -- end
    -- if not self.动画开关 then
    --     if self.资源组[2]:事件判断() then
    --         self:打开()
    --         return
    --     elseif self.资源组[3]:事件判断() then --开始转动
    --         JGESDK:发送(3760,{选择个数=self.选择个数})
    --     elseif self.资源组[4]:事件判断() then --选择奖励
    --         JGESDK:发送(3761,{奖励选择=self.奖励选择})
    --     end
    -- end
end

-- function 法宝任务栏:更新滚动(x,y)
--     if self.动画开关 then
--         if self.滚动1>=200 then
--             self.滚动1 = self.滚动1 +  math.random(2,8)*0.1
--         elseif self.滚动1>=150 then
--             self.滚动1 = self.滚动1 +  1
--         else
--             self.滚动1 = self.滚动1 +  2
--         end
--         if self.滚动1>=220 then
--             self.滚动1=220
--             self.动画开关 =false
--         end
--     end
-- end

function 法宝任务栏:清空数据()
    self.物品组={}
    self.滚动1 = 0
    self.奖励选择 = 0
end

function 法宝任务栏:播放滚动动画(数据)
    self:清空数据()
    self.动画开关 = true
    --获取数据
    self.选择个数 =  数据.选择个数
    local 物品数据 = 数据.物品数据
    for k,v in pairs(物品数据) do
        if self.物品组[k]==nil then
           self.物品组[k]={}
        end
        for i,n in pairs(v) do
            if self.物品组[k][i]== nil then
                self.物品组[k][i]={}
            end
            local 资源=引擎.取物品(n.名称)
            self.物品组[k][i].小动画=tp.资源:载入(资源[11],"网易WDF动画",资源[12])
            self.物品组[k][i].大动画=tp.资源:载入(资源[11],"网易WDF动画",资源[13])
            self.物品组[k][i].名称=n.名称
            self.物品组[k][i].备注=n.备注
            self.物品组[k][i].说明=资源[1]
        end
    end
end

function 法宝任务栏:检查点(x,y)
    if self.可视 and self.资源组[1]:是否选中(x,y)  then
        return true
    else
        return false
    end
end

function 法宝任务栏:初始移动(x,y)
    tp.运行时间 = tp.运行时间 + 1
    if not tp.消息栏焦点 then
        self.窗口时间 = tp.运行时间
    end
    if not self.焦点 then
        tp.移动窗口 = true
    end
    if self.可视 and self.鼠标 and  not self.焦点 then
        self.xx = x - self.x
        self.yy = y - self.y
    end
end

function 法宝任务栏:开始移动(x,y)
    if self.鼠标 then
        self.x = x - self.xx
        self.y = y - self.yy
    end
end

return 法宝任务栏